package com.qdxwx.models.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

//个人简历
public class UserVitae implements Serializable {

    private static final long serialVersionUID = 4185863955267615372L;

    //主键id
    private int id;

    //userId
    private long userId;

    //名称
    private String name;

    //性别 0:未知，1:男，2:女
    private Integer sex;

    //出生年月
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate birthday;

    //民族
    private String nation;

    //身高/CM
    private int height;

    //籍贯
    private String nativePlace;

    //头像
    private String avatar;

    //联系电话
    private String contactMobile;

    //联系邮箱
    private String contactEmail;

    //学历
    private String education;

    //工作经验
    private String workExperience;

    //现居住地址
    private String nowDwellAddres;

    //自我简介
    private String selfProfile;

    //职业技能
    private String jobSkills;

    //期望职位
    private String jobPosition;

    //求职类型 1全职；2兼职
    private Integer jobType;

    //求职省份id
    private int jobProvinceId;

    //求职城市id
    private int jobCityId;

    //求职城市
    private String jobCityName;

    //期望薪资
    private Integer jobSalary;

    //毕业学校
    private String finishSchool;

    //毕业时间
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate finishDate;

    //学制类型 1全日制，2非全日制
    private Integer learningType;

    //专业
    private String major;

    //在校荣誉
    private String honors;

    //生成简历地址
    private String vitaePath;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public LocalDate getBirthday() {
        return birthday;
    }

    public void setBirthday(LocalDate birthday) {
        this.birthday = birthday;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getContactMobile() {
        return contactMobile;
    }

    public void setContactMobile(String contactMobile) {
        this.contactMobile = contactMobile;
    }

    public String getContactEmail() {
        return contactEmail;
    }

    public void setContactEmail(String contactEmail) {
        this.contactEmail = contactEmail;
    }

    public String getWorkExperience() {
        return workExperience;
    }

    public void setWorkExperience(String workExperience) {
        this.workExperience = workExperience;
    }

    public String getNowDwellAddres() {
        return nowDwellAddres;
    }

    public void setNowDwellAddres(String nowDwellAddres) {
        this.nowDwellAddres = nowDwellAddres;
    }

    public String getSelfProfile() {
        return selfProfile;
    }

    public void setSelfProfile(String selfProfile) {
        this.selfProfile = selfProfile;
    }

    public String getJobSkills() {
        return jobSkills;
    }

    public void setJobSkills(String jobSkills) {
        this.jobSkills = jobSkills;
    }

    public String getJobPosition() {
        return jobPosition;
    }

    public void setJobPosition(String jobPosition) {
        this.jobPosition = jobPosition;
    }

    public Integer getJobType() {
        return jobType;
    }

    public void setJobType(Integer jobType) {
        this.jobType = jobType;
    }

    public int getJobProvinceId() {
        return jobProvinceId;
    }

    public void setJobProvinceId(int jobProvinceId) {
        this.jobProvinceId = jobProvinceId;
    }

    public int getJobCityId() {
        return jobCityId;
    }

    public void setJobCityId(int jobCityId) {
        this.jobCityId = jobCityId;
    }

    public String getJobCityName() {
        return jobCityName;
    }

    public void setJobCityName(String jobCityName) {
        this.jobCityName = jobCityName;
    }

    public Integer getJobSalary() {
        return jobSalary;
    }

    public void setJobSalary(Integer jobSalary) {
        this.jobSalary = jobSalary;
    }

    public String getFinishSchool() {
        return finishSchool;
    }

    public void setFinishSchool(String finishSchool) {
        this.finishSchool = finishSchool;
    }

    public LocalDate getFinishDate() {
        return finishDate;
    }

    public void setFinishDate(LocalDate finishDate) {
        this.finishDate = finishDate;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getHonors() {
        return honors;
    }

    public void setHonors(String honors) {
        this.honors = honors;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getLearningType() {
        return learningType;
    }

    public void setLearningType(Integer learningType) {
        this.learningType = learningType;
    }

    public String getVitaePath() {
        return vitaePath;
    }

    public void setVitaePath(String vitaePath) {
        this.vitaePath = vitaePath;
    }

    @Override
    public String toString() {
        return "UserVitae{" +
                "id=" + id +
                ", userId=" + userId +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                ", birthday=" + birthday +
                ", nation='" + nation + '\'' +
                ", height=" + height +
                ", nativePlace='" + nativePlace + '\'' +
                ", avatar='" + avatar + '\'' +
                ", contactMobile='" + contactMobile + '\'' +
                ", contactEmail='" + contactEmail + '\'' +
                ", workExperience='" + workExperience + '\'' +
                ", nowDwellAddres='" + nowDwellAddres + '\'' +
                ", selfProfile='" + selfProfile + '\'' +
                ", jobSkills='" + jobSkills + '\'' +
                ", jobPosition='" + jobPosition + '\'' +
                ", jobType=" + jobType +
                ", provinceId=" + jobProvinceId +
                ", jobCityId=" + jobCityId +
                ", jobCityName=" + jobCityName +
                ", jobSalary=" + jobSalary +
                ", finishSchool='" + finishSchool + '\'' +
                ", finishDate=" + finishDate +
                ", education='" + education + '\'' +
                ", learningType='" + learningType + '\'' +
                ", major='" + major + '\'' +
                ", honors='" + honors + '\'' +
                ", vitaePath='" + vitaePath + '\'' +
                ", createTime=" + createTime +
                ", update_time=" + updateTime +
                '}';
    }
}
